package com.nuedu.corejava.ch4;

public class Array2 {
	public static void main(String[] args) {
		
		//座位：班级座位，电影院座位
		//设计一个二维数组，保存班级同学的座位信息
		//二维数组的定义
		//String sits[][] =new String[][];--错误，必须指定行

		String sits[][] =new String[10][];
		//锯齿数组：java没有严格意义的二维数组，而是指代数组的数组；
		//二维数据的第二维度可以是不相等的 ，理解为列数可以不相等：称为锯齿数组
		sits[0]=new String[6];//第一行有6列
		sits[1]=new String[3];//第二行有3列
		sits[2]=new String[9];//第三行有9列
		
		
		sits[0][0]="陆家学";
		sits[0][1]="陆家学1";
		sits[0][2]="陆家学2";
		sits[0][3]="陆家学3";

		sits[1][0]="陆家学4";
		sits[1][1]="陆家学5";
		sits[1][2]="陆家学6";
		
		//二维数组的遍历
		System.out.println(sits.length);//注意：使用数组名.length获取的数组长度是第一维度的长度；二维数组的第一维度的长度是相同的；
		//使用二重循环遍历二维数组
		for(int r=0;r<sits.length;r++){//先遍历出第一维度，行
			if (sits[r]!=null) {
				for(int c=0;c<sits[r].length;c++){//在遍历出每一列的数据，注意每一行的列数可能不一样；
					System.out.print(sits[r][c]+"\t");
				}
				System.out.println();
				
			}else {
				System.out.println("第"+(r+1)+"没有数据");
			}
			
		}
		//二维数据的其他定义方法：
		String[] sits2[] =new String[10][6];
		String[][] sits3=new String[10][6];
		//String sits4[][]=new String[][];//错误，，必须指定行数（第一维度）
		String sits4[][]=new String[10][6];
		//[][]String sits4=new String[10][6];
		
		//String[] sis5[]=new String[10][]{{""},{""},{""}};//直接赋值时，不能指定行数和列数
		
		String[] sits5 [] =new String[][]{{"","","",},{"","",""},{"","","","",""}};
		String[] sits6 [] = {{"","","",},{"","",""},{"","","","",""}};

		for(String[] row:sits){
			if(row!=null){
				for(String name:row){
			
				System.out.print(name+"\t");
				}
			
			System.out.println();
		}else {
			System.out.println("该行数据为null");
		}
		}
		
		
		
		
	}

}
